package com.dimples.dd.log.core.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 操作日志的操作类型
 *
 * @author zhongyj <1126834403@qq.com><br/>
 * @date 2024/9/5
 */
@Getter
@AllArgsConstructor
public enum OperateTypeEnum {

    /**
     * 查询
     */
    SELECT(1),
    /**
     * 新增
     */
    CREATE(2),
    /**
     * 修改
     */
    UPDATE(3),
    /**
     * 删除
     */
    DELETE(4),
    /**
     * 导出
     */
    EXPORT(5),
    /**
     * 导入
     */
    IMPORT(6),
    /**
     * 下载
     */
    DOWNLOAD(7),
    /**
     * 上传
     */
    UPLOAD(8),
    /**
     * 发布
     */
    PUBLISH(9),
    /**
     * 撤回
     */
    REVOKE(10),
    /**
     * 其它
     * <p>
     * 在无法归类时，可以选择使用其它。因为还有操作名可以进一步标识
     */
    OTHER(0);

    /**
     * 类型
     */
    private final Integer type;

    public static String getDesc(Integer type) {
        for (OperateTypeEnum value : OperateTypeEnum.values()) {
            if (value.getType().equals(type)) {
                return value.name();
            }
        }
        return null;
    }

}
